home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-10-22 | 1.3 KB | 54 lines | [TEXT/MSWD] |
- split-to-unison
- name symbol-list &rest length-lists
-
- this cousin to split-to-parts is very useful if you
- work with neurones and other stuff to match notes.
- with this function you can make all rhythms play melody
- in unison as far as possible.
- so then you can for instance transpose a part and get
- perfect parallels on all unison rhythm-notes.
-
- (setq mel '(a b c d e f g))
- (setq mel2 (symbol-transpose 4 mel))
- (setq rhy1 '(1/8 1/8 1/8 1/8 1/8 1/8 1/8))
- (setq rhy2 '(1/4 1/4 1/4 1/4 1/4 1/4 1/4))
-
- this wont result in parallels since rhythms are different.
-
- instead do like this:
-
- (split-to-unison nil mel
- rhy1 rhy2)
- ((a b c d e f g) (a c e g a b c))
-
- you can bind the results
- with setq to name if name is other than nil.
-
- (split-to-unison 'rhy-mel mel
- rhy1 rhy2)
- -> prints and binds
- (setq rhy-mel1 '(a b c d e f g))
- (setq rhy-mel2 '(a c e g a b c))
-
- so now transpose rhy-mel2 instead of mel:
- (setq mel3 (symbol-transpose 4 rhy-mel2))
- ->(e g i k e f g)
-
- and then:
- (def-length i1 rhy1)
- (def-length i2 rhy2)
- (def-zone default '(4/1))
- (def-symbol i1 mel)
- (def-symbol i2 mel3)
- and so on. . .
-
- you can use as many rhythms as you like:
-
- (split-to-unison nil
- '(a c a b a) '(1/8 1/8 1/8 1/8 1/8) '(1/4 1/4 1/4 1/4 1/4) '(1/2 1/16 1/16 1/8 1/8) '(-5/4 1/1)
- '(1/12 1/12 1/12 3/8 5/16))
- ->((a a a a c) (a a c a a) (a c a b a) (c) (a c b a b))
-
-
- se also split-to-parts.
-